package com.ysd.lis.service.lab;


import com.baomidou.mybatisplus.extension.service.IService;
import com.ysd.common.Result;
import com.ysd.lis.entity.lab.LabItemDict;
import com.ysd.lis.request.CommonPageDto;
import com.ysd.lis.request.StaDictItemSyncDto;
import com.ysd.lis.request.lab.FindItemDictKnoInfoParam;
import com.ysd.lis.request.lab.LabItemDictDto;
import com.ysd.lis.request.qc.QcInstrSampleParam;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author yangjianguang
 * @since 2023-12-11
 */
public interface LabItemDictService extends IService<LabItemDict> {
    Result findLabItemDictList(LabItemDict labLabItemDict);

    Result findLabItemDictManualList(LabItemDict labLabItemDict);

    Result addLabItemDict(LabItemDict labItemDict);

    Result editLabItemDict(LabItemDict labItemDict);

    Result deleteLabItemDict(LabItemDict labItemDict);

    Result findLabItemDict(LabItemDict labItemDict);

    Result findLabItemPageList(CommonPageDto pageParam);

    Result findLabItemPageList1(CommonPageDto pageParam);

    Result findJoinLabItemDictList(LabItemDict labLabItemDict);

    Result findLabItemDictListByInstr(QcInstrSampleParam param);

    Result findLabItemDictAndAllListByInstr(QcInstrSampleParam param);

    /*同步报告项目*/
    Result syncItemDicts();

    Result updateMoveItemDictSeq(LabItemDictDto dto);

    /*知识库获取所有项目*/
    Result findAllItemDictList(LabItemDict labItemDict);

    /*获取项目知识库*/
    Result findItemDictKnoInfo(FindItemDictKnoInfoParam input);

    Result batchSaveDictItem(StaDictItemSyncDto itemSyncDto);

    void export(String rptGroup,  HttpServletResponse response);
    Result uploadDetailByExcel(MultipartFile file, HttpServletRequest request) throws IOException;
    Result uploadBaseTemplate(MultipartFile file, HttpServletRequest request) throws IOException;


}
